package shm.log;

import java.util.Date;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import shm.capaDatos.entidades.Usuario;
import shm.capaDatos.vo.UsuarioVO;

@Stateless
public class LogBean implements Log {
	@PersistenceContext(name="sh-management")
	private EntityManager entityManager;
	
	private void loggear(String tipo, String mensaje, UsuarioVO usuarioLogueado) {
		Usuario usuarioLogueadoEB = new Usuario();
		usuarioLogueadoEB.setVO(usuarioLogueado);
		Date fechaActual = new Date(); 
		ItemLog item = new ItemLog( tipo, mensaje,fechaActual,usuarioLogueadoEB);
		entityManager.persist(item);

	}
	@Override
	public void error(String mensaje, UsuarioVO usuarioLogueado){
		this.loggear("ERROR", mensaje,usuarioLogueado);
	}
	@Override
	public void fatal(String mensaje, UsuarioVO usuarioLogueado){
		this.loggear("FATAL", mensaje,usuarioLogueado);
	}
	@Override
	public void info(String mensaje, UsuarioVO usuarioLogueado){
		this.loggear("INFO", mensaje,usuarioLogueado);
	}
	@Override
	public void adv(String mensaje, UsuarioVO usuarioLogueado){
		this.loggear("ADV", mensaje,usuarioLogueado);
	}
	@Override
	public void debug(String mensaje, UsuarioVO usuarioLogueado){
		this.loggear("DEBUG", mensaje,usuarioLogueado);
	}

}
